Event Loop
https://zhuanlan.zhihu.com/p/142742003
总结
1.事件循环不一定每轮都伴随着重渲染,但是如果有微任务,一定会伴随着微任务执行。
2.决定浏览器视图是否渲染的因素很多,浏览器是非常聪明的。
3.requestAnimationFrame 在重新渲染屏幕之前执行,非常适合用来做动画。
4.requestIdleCallback 在渲染屏幕之后执行,并且是否有空执行要看浏览器的调度,如果你一定要它在某个时间内执行,请使用 timeout 参数。
5.resize 和 scroll 事件其实自带节流,它只在 Event Loop 的渲染阶段去派发事件到 EventTarget 上。